static int both_shift_pressed[2]; /* to store keycodes for shift keys */
-static void
-assign_object (gpointer lhsp,
- gpointer rhs)
-{
- if (*(gpointer *)lhsp != rhs)
- {
- if (*(gpointer *)lhsp != NULL)
- g_object_unref (*(gpointer *)lhsp);
- *(gpointer *)lhsp = rhs;
- if (rhs != NULL)
- g_object_ref (rhs);
- }
-}
-
static void
track_mouse_event (DWORD dwFlags,
HWND hwnd)
else
{
GDK_NOTE (EVENTS, g_print (" (to grabber)"));
- assign_object (window, grab_window);
+ g_set_object (window, grab_window);
return TRUE;
}
}
{
/* Grabbed! */
GDK_NOTE (EVENTS, g_print (" (to grabber)"));
- assign_object (window, grab_window);
+ g_set_object (window, grab_window);
return TRUE;
}
}
}
else
{
- assign_object (window, parent);
+ g_set_object (window, parent);
/* The only branch where we actually continue the loop */
}
}
g_print (" (%d,%d)",
GET_X_LPARAM (msg->lParam), GET_Y_LPARAM (msg->lParam)));
- assign_object (&window, find_window_for_mouse_event (window, msg));
+ g_set_object (&window, find_window_for_mouse_event (window, msg));
/* TODO_CSW?: there used to some synthesize and propagate */
if (GDK_WINDOW_DESTROYED (window))
break;
g_print (" (%d,%d)",
GET_X_LPARAM (msg->lParam), GET_Y_LPARAM (msg->lParam)));
- assign_object (&window, find_window_for_mouse_event (window, msg));
+ g_set_object (&window, find_window_for_mouse_event (window, msg));
if (pointer_grab != NULL && pointer_grab->implicit)
{
0, /* TODO: Set right mask */
msg->time,
FALSE);
- assign_object (&mouse_window, new_window);
+ g_set_object (&mouse_window, new_window);
mouse_window_ignored_leave = NULL;
}
}
0, /* TODO: Set right mask */
msg->time,
FALSE);
- assign_object (&mouse_window, new_window);
+ g_set_object (&mouse_window, new_window);
mouse_window_ignored_leave = NULL;
if (new_window != NULL)
track_mouse_event (TME_LEAVE, GDK_WINDOW_HWND (new_window));
track_mouse_event (TME_LEAVE, GDK_WINDOW_HWND (new_window));
}
- assign_object (&window, find_window_for_mouse_event (window, msg));
+ g_set_object (&window, find_window_for_mouse_event (window, msg));
/* If we haven't moved, don't create any GDK event. Windows
* sends WM_MOUSEMOVE messages after a new window is shows under
0, /* TODO: Set right mask */
msg->time,
FALSE);
- assign_object (&mouse_window, new_window);
+ g_set_object (&mouse_window, new_window);
mouse_window_ignored_leave = ignore_leave ? new_window : NULL;
if (new_window != window)
{
- assign_object (&window, new_window);
+ g_set_object (&window, new_window);
}
ScreenToClient (msg->hwnd, &point);